package mdm.led.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import mdm.led.entity.five.FiveDetails;

/**
 *
 * @author :Monarch丿He
 * @date   :2018年11月1日
 * @explain : 流程详情 Dao 接口
 */
@Repository
public interface FiveDetailsMapper {

	/**
	 * 添加流程详情
	 * @param fiveDetails
	 * @return
	 */
	int addFiveDetails(FiveDetails fiveDetails);
	
	/**
	 * 修改流程详情状态
	 * @param id
	 * @return
	 */
	int updateFiveDetailsCause(@Param("id")Integer id);
	
	/**
	 * 修改某个详情表信息
	 * @param fiveDetails
	 * @return
	 */
	int updateFiveDetails(FiveDetails fiveDetails);
	
	/**
	 * 根据流程表查询表所有流程详情实例
	 * @param id
	 * @return
	 */
	int findCountByProcedureId(@Param("id")Integer id);
	
	/**
	 * 根据流程表查询表所有流程详情实例
	 * @param id
	 * @return
	 */
	List<FiveDetails> findAllDetailsByProcedureId(@Param("id")Integer id);
	
	/**
	 * 根据填表人查询表所有流程详情实例
	 * @param id
	 * @return
	 */
	List<FiveDetails> findAllDetailsByWriteMan(@Param("id")Integer id);
	
	/**
	 * 根据详情表 ID 查询 详情表
	 * @param id
	 * @return
	 */
	FiveDetails findFiveDetailsByDetailsId(@Param("id")Integer id);
	
	/**
	 * 查询 流程管控详情表 
	 * @param username
	 * @param userid
	 * @param iswhole
	 * @return
	 */
	List<FiveDetails> findFiveDetailsList(@Param("username")String username, @Param("procedureId")Integer procedureId);
	
	/**
	 * 根据流程表 ID 和 填表人 ID查询详情表
	 * @param procedureId
	 * @param userId
	 * @return
	 */
	FiveDetails findDetailsByPidAndUid(@Param("procedureId")Integer procedureId,@Param("userId")Integer userId);
	
	/**
	 * 根据流畅管控表id和填表人 id 查询详情表id
	 * @param pid
	 * @param uid
	 * @return
	 */
	String findDetailsByUidAndPid(@Param("pid")Integer pid,@Param("uid")Integer uid);
	
	
	
}

